<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>pybindgen.gccxmlparser.ModuleParser</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="pybindgen-module.html">Package&nbsp;pybindgen</a> ::
        <a href="pybindgen.gccxmlparser-module.html">Module&nbsp;gccxmlparser</a> ::
        Class&nbsp;ModuleParser
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="pybindgen.gccxmlparser.ModuleParser-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class ModuleParser</h1><p class="nomargin-top"><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_pybindge_55" name="uml_class_diagram_for_pybindge_55">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#enable_anonymous_containers" title="if True, pybindgen will attempt to scan for all std containers, even the &#160;ones that have no typedef&#39;ed name." alt="" coords="17,28,903,47"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#__init__" title="Creates an object that will be able parse header files and create a &#160;pybindgen module definition." alt="" coords="17,49,903,68"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#add_pre_scan_hook" title="Add a function to be called right before converting a gccxml definition to &#160;a PyBindGen wrapper object." alt="" coords="17,68,903,87"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#add_post_scan_hook" title="Add a function to be called right after converting a gccxml definition to a PyBindGen wrapper object." alt="" coords="17,87,903,105"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parses a set of header files and returns a pybindgen Module instance." alt="" coords="17,105,903,124"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="Prepares to parse a set of header files." alt="" coords="17,124,903,143"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_types" title="pybindgen.gccxmlparser.ModuleParser.scan_types" alt="" coords="17,143,903,161"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_methods" title="pybindgen.gccxmlparser.ModuleParser.scan_methods" alt="" coords="17,161,903,180"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_finalize" title="pybindgen.gccxmlparser.ModuleParser.parse_finalize" alt="" coords="17,180,903,199"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_functions" title="pybindgen.gccxmlparser.ModuleParser.scan_functions" alt="" coords="17,199,903,217"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html" title="pybindgen.gccxmlparser.ModuleParser" alt="" coords="16,11,904,219"/>
</map>
  <img src="uml_class_diagram_for_pybindge_55.gif" alt='' usemap="#uml_class_diagram_for_pybindge_55" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Methods</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.gccxmlparser.ModuleParser-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">module_name</span>,
        <span class="summary-sig-arg">module_namespace_name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">::</code><code class="variable-quote">'</code></span>)</span><br />
      Creates an object that will be able parse header files and create a 
      pybindgen module definition.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.gccxmlparser.ModuleParser-class.html#add_pre_scan_hook" class="summary-sig-name">add_pre_scan_hook</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">hook</span>)</span><br />
      Add a function to be called right before converting a gccxml 
      definition to a PyBindGen wrapper object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.add_pre_scan_hook">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.gccxmlparser.ModuleParser-class.html#add_post_scan_hook" class="summary-sig-name">add_post_scan_hook</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">hook</span>)</span><br />
      Add a function to be called right after converting a gccxml 
      definition to a PyBindGen wrapper object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.add_post_scan_hook">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" class="summary-sig-name">parse</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">header_files</span>,
        <span class="summary-sig-arg">include_paths</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">whitelist_paths</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">includes</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
        <span class="summary-sig-arg">pygen_sink</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">pygen_classifier</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">gccxml_options</span>=<span class="summary-sig-default">None</span>)</span><br />
      parses a set of header files and returns a pybindgen Module instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.parse">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_parse-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse" name="call_graph_for_parse">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,117,91,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_finalize" title="parse_finalize()" alt="" coords="144,5,304,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="parse_init()" alt="" coords="161,61,287,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_functions" title="scan_functions()" alt="" coords="139,117,309,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_methods" title="scan_methods()" alt="" coords="141,173,307,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_types" title="scan_types()" alt="" coords="156,229,292,261"/>
</map>
  <img src="call_graph_for_parse.gif" alt='' usemap="#call_graph_for_parse" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" class="summary-sig-name">parse_init</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">header_files</span>,
        <span class="summary-sig-arg">include_paths</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">whitelist_paths</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">includes</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
        <span class="summary-sig-arg">pygen_sink</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">pygen_classifier</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">gccxml_options</span>=<span class="summary-sig-default">None</span>)</span><br />
      Prepares to parse a set of header files.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.parse_init">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse_init-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_parse_init-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse_init" name="call_graph_for_parse_init">
<area shape="rect" href="pybindgen.gccxmlparser.GccXmlTypeRegistry-class.html#__init__" title="GccXmlTypeRegistry.__init__()" alt="" coords="384,5,677,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_all_pygen_sinks" title="_get_all_pygen_sinks()" alt="" coords="417,61,644,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_main_pygen_sink" title="_get_main_pygen_sink()" alt="" coords="409,117,652,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,229,91,261"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="parse_init()" alt="" coords="139,229,264,261"/>
<area shape="rect" href="pybindgen.module.Module-class.html#__init__" title="module.Module.__init__()" alt="" coords="405,173,656,205"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_include" title="module.ModuleBase.add_include()" alt="" coords="365,229,696,261"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#indent" title="typehandlers.codesink.CodeSink.indent()" alt="" coords="332,285,729,317"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#unindent" title="typehandlers.codesink.CodeSink.unindent()" alt="" coords="320,341,741,373"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="313,397,748,429"/>
<area shape="rect" href="pybindgen.utils-module.html#ascii" title="utils.ascii()" alt="" coords="471,453,591,485"/>
</map>
  <img src="call_graph_for_parse_init.gif" alt='' usemap="#call_graph_for_parse_init" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="scan_types"></a><span class="summary-sig-name">scan_types</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.scan_types">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_scan_types-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_scan_types-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_scan_types" name="call_graph_for_scan_types">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_scan_namespace_types" title="_scan_namespace_types()" alt="" coords="323,5,581,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,5,91,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_types" title="scan_types()" alt="" coords="139,5,275,37"/>
</map>
  <img src="call_graph_for_scan_types.gif" alt='' usemap="#call_graph_for_scan_types" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="scan_methods"></a><span class="summary-sig-name">scan_methods</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.scan_methods">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_scan_methods-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_scan_methods-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_scan_methods" name="call_graph_for_scan_methods">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_all_pygen_sinks" title="_get_all_pygen_sinks()" alt="" coords="457,5,684,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_main_pygen_sink" title="_get_main_pygen_sink()" alt="" coords="449,61,692,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_pygen_sink_for_definition" title="_get_pygen_sink_for_definition()" alt="" coords="411,117,731,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_scan_class_methods" title="_scan_class_methods()" alt="" coords="457,173,684,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,173,91,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_methods" title="scan_methods()" alt="" coords="139,173,304,205"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#indent" title="typehandlers.codesink.CodeSink.indent()" alt="" coords="372,229,769,261"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#unindent" title="typehandlers.codesink.CodeSink.unindent()" alt="" coords="360,285,781,317"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="353,341,788,373"/>
</map>
  <img src="call_graph_for_scan_methods.gif" alt='' usemap="#call_graph_for_scan_methods" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="parse_finalize"></a><span class="summary-sig-name">parse_finalize</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.parse_finalize">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse_finalize-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_parse_finalize-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse_finalize" name="call_graph_for_parse_finalize">
<area shape="rect" href="pybindgen.gccxmlparser.AnnotationsScanner-class.html#warn_unused_annotations" title="AnnotationsScanner.warn_unused_annotations()" alt="" coords="349,5,821,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_main_pygen_sink" title="_get_main_pygen_sink()" alt="" coords="464,61,707,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,117,91,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_finalize" title="parse_finalize()" alt="" coords="140,117,300,149"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#indent" title="typehandlers.codesink.CodeSink.indent()" alt="" coords="387,117,784,149"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#unindent" title="typehandlers.codesink.CodeSink.unindent()" alt="" coords="375,173,796,205"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="368,229,803,261"/>
</map>
  <img src="call_graph_for_parse_finalize.gif" alt='' usemap="#call_graph_for_parse_finalize" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="scan_functions"></a><span class="summary-sig-name">scan_functions</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.scan_functions">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_scan_functions-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_scan_functions-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_scan_functions" name="call_graph_for_scan_functions">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_all_pygen_sinks" title="_get_all_pygen_sinks()" alt="" coords="463,5,689,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_main_pygen_sink" title="_get_main_pygen_sink()" alt="" coords="455,61,697,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_scan_namespace_functions" title="_scan_namespace_functions()" alt="" coords="431,117,721,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,117,91,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_functions" title="scan_functions()" alt="" coords="139,117,309,149"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#indent" title="typehandlers.codesink.CodeSink.indent()" alt="" coords="377,173,775,205"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="359,229,793,261"/>
</map>
  <img src="call_graph_for_scan_functions.gif" alt='' usemap="#call_graph_for_scan_functions" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__str__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== INSTANCE VARIABLES ==================== -->
<a name="section-InstanceVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Variables</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="pybindgen.gccxmlparser.ModuleParser-class.html#enable_anonymous_containers" class="summary-name">enable_anonymous_containers</a><br />
      if True, pybindgen will attempt to scan for all std containers, even 
      the ones that have no typedef'ed name.
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Properties</span></td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Method Details</span></td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">module_name</span>,
        <span class="sig-arg">module_namespace_name</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">::</code><code class="variable-quote">'</code></span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Creates an object that will be able parse header files and create a 
  pybindgen module definition.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>module_name</code></strong> - name of the Python module</li>
        <li><strong class="pname"><code>module_namespace_name</code></strong> - optional C++ namespace name; if given, only definitions of this 
          namespace will be included in the python module</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="add_pre_scan_hook"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_pre_scan_hook</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">hook</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.add_pre_scan_hook">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Add a function to be called right before converting a gccxml 
  definition to a PyBindGen wrapper object.  This hook function will be 
  called for every scanned type, function, or method, and given the a 
  chance to modify the annotations for that definition.  It will be called 
  like this::</p>
<pre class="literalblock">
 pre_scan_hook(module_parser, pygccxml_definition, global_annotations,
               parameter_annotations)
</pre>
  <p>where:</p>
  <ul>
    <li>
      module_parser -- the ModuleParser (this class) instance
    </li>
    <li>
      pygccxml_definition -- the definition reported by pygccxml
    </li>
    <li>
      global_annotations -- a dicionary containing the &quot;global 
      annotations&quot; for the definition, i.e. a set of key=value pairs 
      not associated with any particular parameter
    </li>
    <li>
      parameter_annotations -- a dicionary containing the &quot;parameter 
      annotations&quot; for the definition.  It is a dict whose keys are 
      parameter names and whose values are dicts containing the annotations
      for that parameter.  Annotations pertaining the return value of 
      functions or methods are denoted by a annotation for a parameter 
      named 'return'.
    </li>
  </ul>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="add_post_scan_hook"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_post_scan_hook</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">hook</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.add_post_scan_hook">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Add a function to be called right after converting a gccxml definition
  to a PyBindGen wrapper object.  This hook function will be called for 
  every scanned type, function, or method.  It will be called like 
  this:</p>
<pre class="literalblock">
 post_scan_hook(module_parser, pygccxml_definition, pybindgen_wrapper)
</pre>
  <p>where:</p>
  <ul>
    <li>
      module_parser -- the ModuleParser (this class) instance
    </li>
    <li>
      pygccxml_definition -- the definition reported by pygccxml
    </li>
    <li>
      pybindgen_wrapper -- a pybindgen object that generates a wrapper, 
      such as CppClass, Function, or CppMethod.
    </li>
  </ul>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="parse"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">header_files</span>,
        <span class="sig-arg">include_paths</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">whitelist_paths</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">includes</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
        <span class="sig-arg">pygen_sink</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">pygen_classifier</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">gccxml_options</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.parse">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_parse-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse" name="call_graph_for_parse">
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,117,91,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_finalize" title="parse_finalize()" alt="" coords="144,5,304,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="parse_init()" alt="" coords="161,61,287,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_functions" title="scan_functions()" alt="" coords="139,117,309,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_methods" title="scan_methods()" alt="" coords="141,173,307,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#scan_types" title="scan_types()" alt="" coords="156,229,292,261"/>
</map>
  <img src="call_graph_for_parse.gif" alt='' usemap="#call_graph_for_parse" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>parses a set of header files and returns a pybindgen Module instance. 
  It is equivalent to calling the following methods:</p>
  <ol start="1">
    <li>
      parse_init(header_files, include_paths, whitelist_paths)
    </li>
    <li>
      scan_types()
    </li>
    <li>
      scan_methods()
    </li>
    <li>
      scan_functions()
    </li>
    <li>
      parse_finalize()
      <p>The documentation for <a 
      href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" 
      class="link">ModuleParser.parse_init</a> explains the parameters.</p>
    </li>
  </ol>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="parse_init"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse_init</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">header_files</span>,
        <span class="sig-arg">include_paths</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">whitelist_paths</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">includes</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
        <span class="sig-arg">pygen_sink</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">pygen_classifier</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">gccxml_options</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.gccxmlparser-pysrc.html#ModuleParser.parse_init">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse_init-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_parse_init-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse_init" name="call_graph_for_parse_init">
<area shape="rect" href="pybindgen.gccxmlparser.GccXmlTypeRegistry-class.html#__init__" title="GccXmlTypeRegistry.__init__()" alt="" coords="384,5,677,37"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_all_pygen_sinks" title="_get_all_pygen_sinks()" alt="" coords="417,61,644,93"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_get_main_pygen_sink" title="_get_main_pygen_sink()" alt="" coords="409,117,652,149"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse" title="parse()" alt="" coords="5,229,91,261"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="parse_init()" alt="" coords="139,229,264,261"/>
<area shape="rect" href="pybindgen.module.Module-class.html#__init__" title="module.Module.__init__()" alt="" coords="405,173,656,205"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_include" title="module.ModuleBase.add_include()" alt="" coords="365,229,696,261"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#indent" title="typehandlers.codesink.CodeSink.indent()" alt="" coords="332,285,729,317"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.CodeSink-class.html#unindent" title="typehandlers.codesink.CodeSink.unindent()" alt="" coords="320,341,741,373"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="313,397,748,429"/>
<area shape="rect" href="pybindgen.utils-module.html#ascii" title="utils.ascii()" alt="" coords="471,453,591,485"/>
</map>
  <img src="call_graph_for_parse_init.gif" alt='' usemap="#call_graph_for_parse_init" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>Prepares to parse a set of header files.  The following methods should
  then be called in order to finish the rest of scanning process:</p>
  <ol start="1">
    <li>
      scan_types()
    </li>
    <li>
      scan_methods()
    </li>
  </ol>
  <ol start="2">
    <li>
      scan_functions()
    </li>
    <li>
      parse_finalize()
    </li>
  </ol>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>header_files</code></strong> (list of string) - header files to parse</li>
        <li><strong class="pname"><code>include_paths</code></strong> (list of string) - (deprecated, use the parameter gccxml_options) list of include 
          paths</li>
        <li><strong class="pname"><code>whitelist_paths</code></strong> (list of string) - additional directories for definitions to be included Normally 
          the module parser filters out API definitions that have been 
          defined outside one of the header files indicated for parsing.  
          The parameter whitelist_paths instructs the module parser to 
          accept definitions defined in another header file if such header 
          file is inside one of the directories listed by whitelist_paths.</li>
        <li><strong class="pname"><code>pygen_sink</code></strong> (<a href="pybindgen.typehandlers.codesink.CodeSink-class.html" 
          class="link">CodeSink</a> or list of <a 
          href="pybindgen.gccxmlparser.PygenSection-class.html" 
          class="link">PygenSection</a> objects) - code sink for python script generation.
          <p>This parameter activates a mode wherein ModuleParser, in 
          addition to building in memory API definitions, creates a python 
          script that will generate the module, when executed. The 
          generated Python script can be human editable and does not 
          require pygccxml or gccxml to run, only PyBindGen to be 
          installed.</p>
          <p>The pygen parameter can be either:</p>
          <ol start="1">
            <li>
              A single code sink: this will become the main and only script
              file to be generated
            </li>
            <li>
              A list of <a 
              href="pybindgen.gccxmlparser.PygenSection-class.html" 
              class="link">PygenSection</a> objects.  This option requires 
              the pygen_classifier to be given.
            </li>
          </ol></li>
        <li><strong class="pname"><code>pygen_classifier</code></strong> - the classifier to use when pygen is given and is a dict</li>
        <li><strong class="pname"><code>gccxml_options</code></strong> (dict) - extra options to pass into the gccxml_configuration_t object as 
          keyword arguments (see <a 
          href="http://www.language-binding.net/pyplusplus/documentation/apidocs/pygccxml.parser.config.gccxml_configuration_t-class.html"
          target="_top">pygccxml API documentation</a> for more 
          information).</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== INSTANCE VARIABLE DETAILS ==================== -->
<a name="section-InstanceVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Variable Details</span></td>
</tr>
</table>
<a name="enable_anonymous_containers"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">enable_anonymous_containers</h3>
  if True, pybindgen will attempt to scan for all std containers, even the 
  ones that have no typedef'ed name.  Enabled by default.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun Jul 12 17:23:23 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
